Skip to content

Update submodule for txservice#157

Merged
xiexiaoy merged 1 commit intoeloqdata:eloq-10.6.10from
xiexiaoy:point_read_on_miss
Nov 10, 2025
Merged

Update submodule for txservice#157
xiexiaoy merged 1 commit intoeloqdata:eloq-10.6.10from
xiexiaoy:point_read_on_miss

Conversation

@xiexiaoy
Copy link
Collaborator

@xiexiaoy xiexiaoy commented Nov 7, 2025

eloqdata/tx_service#195

Summary by CodeRabbit

  • Bug Fixes

    • Improved stability and correctness of batch reads and index-based scans by adjusting how batch read requests are performed, reducing rare read/validation issues.
  • Chores

    • Updated an internal submodule reference to a newer commit (metadata-only update).

@coderabbitai
Copy link

coderabbitai bot commented Nov 7, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

Updated the storage/eloq/tx_service submodule pointer and adjusted three call sites in storage/eloq/ha_eloq.cc to pass an added boolean argument to BatchReadTxRequest, reflecting its new constructor signature.

Changes

Cohort / File(s) Summary
Submodule update
storage/eloq/tx_service
Submodule pointer updated from 307387086a3e05d9da8c31dc6b818923361b076b to 123d7f7ab1af0d19e341ba590d9163994ab20838.
Call-site adjustments
storage/eloq/ha_eloq.cc
Updated BatchReadTxRequest invocations to include an additional boolean parameter and adjusted argument ordering where needed: e.g., (..., my_tx->Txm(), 0, true)(..., my_tx->Txm(), true, 0, true) and (..., txm)(..., txm, true). Minor trailing newline cleanup.

Sequence Diagram(s)

sequenceDiagram
  participant HA as ha_eloq.cc
  participant BR as BatchReadTxRequest
  participant TM as TxManager
  participant Store as Storage Engine

  HA->>BR: construct(request with Txm, true, ...)
  BR->>TM: pass Txm + flags
  TM->>Store: execute batch read
  Store-->>TM: results
  TM-->>BR: results
  BR-->>HA: return batch results
  note right of BR `#DFF2E1`: New boolean argument provided to influence\nrequest behavior/validation
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Review BatchReadTxRequest parameter order/semantics and ensure callers match the updated signature.
  • Confirm the submodule commit contains the corresponding constructor change and no ABI mismatch.

Possibly related PRs

Suggested reviewers

  • lzxddz
  • yi-xmu

Poem

🐰 A tiny hop, a hash refreshed,
One more flag in calls enmeshed.
Requests now carry brave new light,
The rabbit smiles — code compiles right! 🥕

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Update submodule for txservice' accurately reflects the primary change in the PR—updating the storage/eloq/tx_service submodule reference to a new commit, with the secondary changes in ha_eloq.cc being updates to call signatures following the submodule update.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f99ed99 and c047a1a.

📒 Files selected for processing (2)
  • storage/eloq/ha_eloq.cc (4 hunks)
  • storage/eloq/tx_service (1 hunks)

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@xiexiaoy xiexiaoy marked this pull request as ready for review November 7, 2025 09:37
@xiexiaoy xiexiaoy force-pushed the point_read_on_miss branch 2 times, most recently from 8664579 to f99ed99 Compare November 10, 2025 06:19
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
storage/eloq/ha_eloq.cc (1)

6836-6837: SkIndexScanNext: enabling point-read-on-miss for PK batch loads.

Assuming the new bool is “point_read_on_miss”, this should reduce false negatives when SK→PK post-filtering. Be aware it can increase I/O on large range scans; keep as-is, but consider toggling by a session/global knob if this path becomes hot.

Same signature check as above applies.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8664579 and f99ed99.

📒 Files selected for processing (2)
  • storage/eloq/ha_eloq.cc (4 hunks)
  • storage/eloq/tx_service (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • storage/eloq/tx_service
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: githubzilla
Repo: eloqdata/eloqsql PR: 154
File: storage/eloq/ha_eloq.cc:2571-2623
Timestamp: 2025-11-07T07:10:40.624Z
Learning: Repo: eloqdata/eloqsql PR: 154
File/Area: storage/eloq/ha_eloq.cc (eloq_init_func cluster membership resolution)
Learning: In this repo’s ng_config, the local node is guaranteed to be a candidate (NodeConfig::is_candidate_ == true). Therefore, assigning native_ng_id only when is_candidate_ is true is acceptable; the key improvement is to break early from both loops once the local node is found.
Learnt from: githubzilla
Repo: eloqdata/eloqsql PR: 154
File: storage/eloq/ha_eloq.cc:2770-2781
Timestamp: 2025-11-07T05:12:43.190Z
Learning: In eloqdata/eloqsql, storage/eloq/ha_eloq.cc (KV_ELOQDS path): for DATA_STORE_TYPE_ELOQDSS_ROCKSDB (local RocksDB), each eloqsql instance owns its own RocksDB instance, and passing create_if_missing=true to DataStoreService::StartService is intentional and safe.
📚 Learning: 2025-11-07T07:10:40.624Z
Learnt from: githubzilla
Repo: eloqdata/eloqsql PR: 154
File: storage/eloq/ha_eloq.cc:2571-2623
Timestamp: 2025-11-07T07:10:40.624Z
Learning: Repo: eloqdata/eloqsql PR: 154
File/Area: storage/eloq/ha_eloq.cc (eloq_init_func cluster membership resolution)
Learning: In this repo’s ng_config, the local node is guaranteed to be a candidate (NodeConfig::is_candidate_ == true). Therefore, assigning native_ng_id only when is_candidate_ is true is acceptable; the key improvement is to break early from both loops once the local node is found.

Applied to files:

  • storage/eloq/ha_eloq.cc
🔇 Additional comments (3)
storage/eloq/ha_eloq.cc (3)

9705-9705: Minor formatting tweak.

Trailing newline at maria_declare_plugin_end is fine. LGTM.


9428-9432: Changes verified as consistent with existing codebase patterns.

The two BatchReadTxRequest constructor calls in the codebase (lines 6833 and 9428) are identical in parameter order and count. Both calls maintain for_update and for_share in positions 4 and 5, and both consistently use point_read_on_miss=true as the final argument. No old-signature calls with different parameter counts exist.


5642-5643: Verify parameter consistency across all BatchReadTxRequest call sites.

Unable to locate the BatchReadTxRequest definition in the repository (tx_service module appears incomplete in this checkout). However, I found a potential issue: the call at lines 5640–5643 passes 11 arguments, while similar calls at lines 6833–6836 and 9428–9431 pass only 10 arguments. The extra 0 between the penultimate true and final true may indicate an incomplete refactoring.

Please confirm:

  • All three call sites match the current constructor signature in tx_service/include/tx_request.h
  • The 11-arg variant at line 5640 is intentional (possibly adding a point-read flag or timeout)
  • No other call sites need updating

@xiexiaoy xiexiaoy requested a review from lzxddz November 10, 2025 06:40
@xiexiaoy xiexiaoy merged commit a936b39 into eloqdata:eloq-10.6.10 Nov 10, 2025
1 check passed
@xiexiaoy xiexiaoy deleted the point_read_on_miss branch November 10, 2025 11:24
@coderabbitai coderabbitai bot mentioned this pull request Nov 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants